Information management

ABSTRACT

An approach to managing information makes use of a multi-program graphical user environment (e.g., a virtual desktop). The graphical environment includes a first part in which information elements are presented to a user. A user selection of one or more information elements is accepted and corresponding representations of those elements are formed in another part of the graphical environment. The representations formed in the other part of the graphical environment are persistent as further information elements are presented to the user in the first part of the environment. In some examples, information elements may be classified by users such that application of and access to classifications is mediated a privilege system.

BACKGROUND

This document relates to computer-implemented management of information.

Various information interfaces are available today for accessinginformation accessible on local or wide area networks. Search engines,such as Google or Yahoo, provide a way for users to search forinformation using keyword based queries. Some information sources,including online encyclopedias such as Wikipedia, provide dedicatedsearch interfaces. Similar interfaces are available for localinformation, for example, using locally executing applications such asMicrosoft SharePoint and locally hosted Wiki servers. In addition tosearch-based access to information, users can subscribe to informationfeeds in which they may be interested and interface applications(“readers”) provide a way for users to view the information theirreceive. There is a need for users to manage information such as searchresults and information feeds in an effective manner.

SUMMARY

In one aspect, in general, an approach to managing information makes useof a multi-program graphical user environment (e.g., a virtual desktop).The graphical environment includes a first part in which informationelements are presented to a user. A user selection of one or moreinformation elements is accepted and corresponding representations ofthose elements are formed in another part of the graphical environment.The representations formed in the other part of the graphicalenvironment are persistent, even if further information elements arepresented to the user in the first part of the environment.

Aspects can include one or more of the following features.

A specification is accepted for the information elements for presentingto the user.

The information elements are assembled from a number of informationsources according to the accepted specification.

Forming the corresponding representations of the selected informationelements includes forming graphical elements corresponding to saidinformation elements.

User inputs are accepted for manipulating the formed graphical elements.

The method further includes accepting user input for assembling multipleof the information elements represented in the other part of thegraphical environment into an aggregated representation.

The aggregated representation is stored for later retrieval. Theaggregated representation may be transmitted to another user.

The multi-program graphical user environment includes a virtual desktopenvironment.

An association of information elements and corresponding classificationsis maintained.

Accepting the selection of the one or more information elements includesaccepting a specification according to the classifications associatedwith the information elements.

An association of a place with an information element is set accordingto an input from the user.

Privilege information associated with the places is maintained, andsetting the association of the place with the information elementincludes determining whether the user has privilege to set the placeassociation.

In another aspect, in general, a method for information managementincludes maintaining a number of information elements, a number ofinformation places, and a number of user groups. Privileges associatedwith the information places are maintained such that the privilegesassociated with each of at least some of the places include a privilegefor a user group to apply the place to an information element, and aprivilege for a user group to determine whether the place has beenapplied to the information element. Places are applied to theinformation elements. Applying the places includes restrictingapplication of the places by users of the user groups according to themaintained privileges. Information elements are accessed for usersaccording to places applied to the information elements. This accessincludes restricting use of places applied to the information elementsaccording to the maintained privileges.

The information places are maintained in a hierarchical arrangement.

Accessing information elements for users according to places applied tothe information elements includes accessing the information elementsaccording to the hierarchical arrangement of the places.

In another aspect, in general, software is embodied on computer readablemedia and includes instructions for causing a data processing system toperform all the steps of any of the methods specified above.

In another aspect, in general, an information management system includesa graphical user interface. An information management componentimplements all the steps of any of the methods specified above.

Aspects may have one or more of the following advantages:

Providing a way for a user to save individual items of information, forexample, individual search results or individual news items, allows theuser to conduct a series of searches or other information retrievaloperations without losing the saved items.

Using the desktop as a place to save items, for example, somewhat likeelectronic “sticky” notes, allows for unstructured saving of retrievedinformation in a compact form while still allowing access to the fullinformation associated with those items.

Providing a way for the user to aggregate saved items allows the user toimpose an aspect of organization on the saved results, for example, sothat the aggregated results can be saved for later retrieval,transmitted to another user, or published to a community of users.

Providing an information interface that accesses multiple sources ofinformation relieves the need for the user to make separate searches forthe different sources. Graphically indicating the source of informationitems allows the user to treat different retrieved items according totheir source. Graphical indicators, such as color, provide effectiveindicators that can allow the user to organize information withouthaving to read or extract detailed information from each item.

Providing a privilege system for application of places to informationelements and access to applied places enables flexible use of elementclassifications with desired levels of control.

Use of hierarchical arrangements of places simplifies administration ofplace-related privileges through inheritance approaches. Thehierarchical arrangement can also provide a way for users to specifydesired information elements with a desired degree of specificity.

Other features and advantages of the invention are apparent from thefollowing description, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of a graphical user environment.

FIG. 2 is a logical block diagram of a software system.

FIG. 3 is a schematic diagram of a graphical user interface.

FIG. 4A is a diagram representing sources of information.

FIG. 4B is a schematic diagram of a graphical representation of anelement of information.

FIG. 5 is a flowchart for an information manager.

DESCRIPTION

Referring to FIG. 1, a graphical user environment 100, such as awindow-based graphical interface (“desktop”) provided as part of aMicrosoft Windows™ operating system or a Mac OS™ operating system,provides a graphical environment in which a user has access tointerfaces to various software applications (e.g., programs), typicallywith separate windows being controlled by different applications. InFIG. 1, such application windows are not illustrated and only abackground 102 is shown, but the reader should understand that otherwindows, which may not be involved in the aspects of the user interfacedescribed below, can coexist with windows and icons discussed below.

In some embodiments, the graphical interface features an information bar110, which provides an interface to the user for accessing and managinginformation that comes from one source, or more generally, from avariety of sources. Examples of ways in which a user accessesinformation is as search results and as subscriptions to various placesof information. One aspect of managing information is that the user can“tear off” displayed items from the information bar and manipulate themas separate graphical elements, for example, that can be independentlypositioned on the graphical user environment 100.

In some embodiments, the information bar 110 has a reduced form 104 whennot in use, shown as a collapsed bar. That is, the user can select areduced form 104 and expand it to the full information bar 110 whenneeded, for example, using a mouse and control buttons on the display.Note that in some embodiments, the graphical nature of the reduced form104 is not necessarily a bar on a side or top or bottom edge of thegraphical display, and other forms of reduced forms, such as icons,characters or symbols represented on the display, or totally hidden(i.e., invisible) reduced forms, may also be used. Note also that inother embodiments, the information bar 110 is not necessarily a verticalbar as illustrated in FIG. 1. For example, the information bar may be ahorizontal bar, a non-rectangular anchored shape, a floating window, abackground element, etc. In some embodiments, the information bar is ina fixed location, while in some embodiments the user can slide the baracross the screen and/or position or resize it as desired or useful tonot obscure other windows or information shown on the background.

The information bar 110 provides an interface through which the useraccesses information from one or more sources. For example, theinformation bar is configured to provide access to one or more of:

-   -   an Internet search using a public search engine such as Google;    -   a particular Internet site such as an Internet-based        encyclopedia (e.g., Wikipedia);    -   local information (e.g., files, directories, databases) on an        Intranet generated using a local search engine such as Microsoft        Sharepoint;    -   specific local information, for example, information maintained        in a local Wiki server or using an application such as Lotus        Notes;    -   local file-based search results using a local search application        such as Google Desktop; and    -   subscriptions to information feeds, for example, provided in RSS        (Really Simple Syndication) format or in the Atom Syndication        Format.

In some embodiments, the selection of sources of information isuser-selectable from a preconfigured set of options. In someembodiments, customized additions to the set of sources can beconfigured, for example, by loading “plug-in” modules.

In some examples, the information bar 110 provides a means for the userto specify specific information that is to be presented on theinformation bar. For example, the information bar 110 may include aquery region 120. In general, the query region 120 is used to acceptinput from a user that identifies or characterizes the information thatthe user is seeking. In some embodiments, the user inputs a query 122 intext form, for example, by typing a set of space-delimited keywords thatare to be located in elements of information that the user desires. Insome embodiments, other forms of queries may be used. Such forms includeform-based queries in which desired values of particular fields areentered in corresponding boxes, queries using a Boolean query language,and natural-language queries. The query region can include a control forinitiating a search, such as a button labeled SEARCH 124. In examplesthat enable subscriptions to information feeds, the information bar caninclude elements for entry of addresses (e.g., URLs, Uniform ResourceLocators) for the feeds (not illustrated).

Items of information are presented to the user on the information bar110. For example, after a search is conducted based on the user's query,a set of results are shown to the user. In some embodiments, a number ofresult sections 130 are formed in the information bar 110. For example,each result has a separate result section 130, and each result sectionhas a headline 132, which may be a title of the element of informationthat has been located, and has a summary 134, which provides more detailabout the element of information.

In some examples, an aspect of the information bar 110 is that the usercan place a representation 150 of a result section 130 elsewhere on thegraphical user environment 100. In some examples, the user can separatea result section 130 from the information bar and place it, or a copy ofit, elsewhere on the interface, for example, by selecting it anddragging it across the display (i.e., “tearing off” the result) using apointing device, such as a mouse. In some examples, the resultrepresentation 150 is a window that has the same appearance as theoriginal result section 130 that was present on the information bar 110,for example, having a headline 152 and a summary 154 that are the sameas the headline 132 and summary 134 from the result section 130. In someexamples, the user can further manipulate the display by moving theresult representation 150 around the display or perform modifications ofthe representation, such as resizing the representation or changing itsborder color.

In some examples, the user has the option of changing the form of theresult representation 150. For example, a user can reduce the detail andsize of a representation of a result, for example, transforming theresult into a graphical representation 140 that includes only a headlineor has the form of an icon or a result-dependent image. An example of anicon or result-dependent image may be an image of a person when theresult represents information retrieved in a search of a particularindividual. In some examples, a result may be reduced in detail and sizeand located in a section of the display, such as a dock or bar forminimized windows, and in some examples, the reduced result may belocated as a movable element on the graphical display.

In general, the user has the option to access the information associatedwith a result representation 150 by interacting with the resultrepresentation 150, or equivalently by interacting with the reducedrepresentation 140 of the information. In some examples, such access isinitiated by selecting the representation using a pointing device suchas a mouse. For example, if the information represented is anInternet-based web page, the user may select the representation, causinga content window 160 to render the information based on a markup dataform retrieved over the Internet, for example, using the Hyper TextMarkup Language (HTML). In some examples, the content window 160 is awindow of an associated application, such as a web browser application.In some examples, the result representation 150 is replaced with thecontent window 160, while in other examples, the result representation150 remains present on the display along with the content window 160. Insome examples, the user can reduce a full content window 160 back into aresult representation window.

Referring to FIG. 2, in some embodiments, the information bar and itsrelated functionality is provided by an information manager process 220that is hosted in an operating environment 200, for example, under thecontrol of the Microsoft Windows XP™ operating system. The operatingenvironment also includes a graphical user interface (GUI) manager 210,which implements services to interact with the user through thegraphical interface, for example, by positioning windows and acceptinginputs from the user. For example, the GUI manager may be built into theunderlying operating system, or provided as a separate softwareapplication that is hosted by the operating system. In general, theinformation manager 220 makes use of services provided by the GUImanager 210. Other software applications hosted in the operatingenvironment also make use of the GUI manager. In some examples, theinformation bar and its associated functions make use of graphicalservices implemented using an Adobe Flash™ environment.

The information manager 220 makes use of one or more local informationsources 230 and/or external information sources 235. As introducedabove, examples of such sources include local searchable data orservers, while external information sources include Internet-basedsearch engines.

In general, the GUI manager 210 maintains a state 212, which is based onthe interaction with the user. Such state may include sizes andpositions of graphical elements such as windows, and the associations ofthose graphical elements with software processes responsible for thoseelements. In particular, the state 212 includes an association ofgraphical elements associated with the information bar 110 and relatedinformation elements with the information manager 220. In general, theinformation manager 220 includes state 222, which includes informationsuch as the results of a recent query by the user, and, for graphicalelements such as representations 140 and 150, associations of elementswith underlying items of information. In some examples, the state 222 isstored as a file in a file system hosted by the operating environment.In some examples, the state 222 of the information manager ispersistent, for example, persisting from termination to restarting ofthe information manager process.

In general, referring to the flowchart of FIG. 5, in response toreceiving a specification of desired information from the user (block510), the information manager 220 identifies individual elements ofinformation it receives from internal and external information sources230 and 235, thereby allowing each item of information to be representedas a separate result section 130 (see FIG. 1) (block 520). Someinformation sources may not provide the information with individualinformation elements specifically identified, for example, beingprovided in a markup language such as HTML. In some such cases, theinformation manager 220 processes the received information to identifyseparate segments or elements (block 530), for example, by identifyingspecific markup elements (e.g., <div>) or patterns of markup elementsthat reflect the structure of the information. In some examples, theindividual items of information are provided by the information sourcesin a format that represents the separate items of information, forexample, being provided in an RSS feed in which each element isdelimited (e.g., <item> . . . </item>) or in Atom format. Theinformation manager then forms storage representations of the items(block 540), which it uses to form the persistent graphicalrepresentations of the separate elements (block 550).

Referring to FIG. 3, in addition to functionality described above withreference to FIG. 1, some embodiments provide additional functionalityrelated to managing information elements. In an example illustrated inFIG. 3, representations 150 of three information elements are shown onthe graphical user environment 100. For example, the user has previously“torn off” these elements as results from one or more searches conductedby the user, for example, over a span of time. The information manager220 provides a way for the user to arrange multiple information elementsinto an aggregated representation 320. For example, the user may drageach of the representations 150 into the aggregated representation 320,and arrange them in an order desired by the user (e.g., the mostimportant first). In some examples, the representations 150 are removedfrom the background, while in other examples copies of therepresentations 350 are formed in the aggregated representation 320. Theaggregated representation 320 can be manipulated on the graphicalinterface by the user, for example, moving its window and changing thenature of the representation into a reduced (e.g., headline) or iconform. The user can access the individual elements of information in theaggregated representation 350, for example, to display more detailedinformation for the information element.

In some examples, the aggregated representation 350 may be manipulatedin a number of additional ways. For example, an aggregatedrepresentation may be saved as a file on a file system in the operatingenvironment. For example, the format may be specific to the informationmanager 220 such that the information manager is able to later reproducethe aggregated representation. In some examples, the representation maybe saved in HTML format such that it can be rendered in a web browserapplication, and links in the saved document can be used later to accessdetailed information represented by the information elements. In someexamples, the aggregated representation can be transmitted to otherusers, for example, as a directed electronic mail message, or publishedin a manner that other users can subscribe to the publication (e.g., asan RSS information feed).

In an example of use of the approach, a user investigates a topic ofinterest and conducts multiple searches over an extended period of time.As the user finds potentially interesting results, the user tears thoseresults off and puts them on the desktop. As the user finds moreinteresting results, the user may move the results around the screen,delete results that are no longer of interest, and otherwise organizethe result of the user's work. At times, the user may want to assemble(aggregate) some or all of the results that the user has placed on theuser's desktop to save as a document for later retrieval. The user usesthe information manager 220 to create an empty aggregatedrepresentation, drags the items of interest into the representation, andsaves the aggregated representation as a document, in this example, anHTML document. The user may then, for example, email a copy of thedocument to a co-worker.

In another use case, the user subscribes to a number of informationfeeds, for example, being provided to the information manager as RSSinformation feeds. When the user sees an item of interest, the user addsthat item to an aggregated representation. The user publishes theaggregated presentation such that they can be received by other usersthrough their information managers.

Referring to FIGS. 4A and 4B, in some embodiments, the informationmanager can obtain information from a number of different sources (e.g.,internal information, external web searches, wikis, etc.). A number ofsuch information sources are represented schematically as regions 410 inFIG. 4A. The overlap between regions for different information sourcesrepresents the possibility that a particular information element 420 isa member of or available through more than one information source.Referring to FIG. 4B, when a user conducts a search or otherwise ispresented with a set of result sections 430, each element and/or the setas a whole includes a source indicator 432 that presents in graphicalform the source or sources of that element. For example, each source isassociated with a different color, and the source(s) of the informationelement are represented by the color(s) of those sources. In someexamples, an information element has different degrees of associationwith each of the information sources, and the graphical representationincludes regions 434 that represent the degrees of association by theirsize or some other attribute or characteristic (e.g., as length in a bargraph representation). In some examples, the graphical sourcerepresentation is maintained when the information is torn off theinformation bar, for example using a corresponding source indicator, orusing graphics properties of the representations such as border color.In some examples, the information manager sorts and/or filters theresult sections of the information bar in response to a user selectionof a source indicator region 434 using a pointing device such as amouse. In some examples, when a cursor hovers over a source indicatorregion 434, the information manager provides a brief description of theinformation source associated with the region 434. In some examples, thesource indicator 432 presents in graphical form the place or places theelement belongs to.

Information elements (“units”) may be classified (e.g., “annotated”,“tagged”, “marked” etc.) to characterize their content. For example, asintroduced above, information elements may have different sources, andthe system may automatically annotate the elements from each source witha tag associated with that source. Users may then access informationusing queries and/or subscriptions that specify information at least inpart according to the tag associated with the source. Similarly, wheninformation elements are presented, the tags associated with thoseelements of information may be shown, for instance explicitly, oraccording to visual representations such as color associated with thosetags. In some examples, the tags are applied by the system, forinstance, when the information elements are accessed and brought intothe system. In some examples, tags are manipulated by users (e.g., endusers and administrative users) of the system.

One form of user manipulation of tags by the system involves a“collaborative” process by which some or all tags applied to aninformation element by a user are accessible by other users. As anexample, a first user may annotate an information element as beingrelated to a topic “finance”, and other users may then be able to access(e.g., search for or subscribe to) the information element according tothe “finance” tag. In some examples, tags must come from a prescribedlist of tags, which may be administered by a privileged group of users,while in other examples, the tags may have relatively unrestricted form.

In some embodiments information elements are organized into an orderedlogical space (or other form of ontology) such that each informationelement has a relative position or “place” in the ordered logical space.In such cases, an information element (such as an electronic documentrepresenting a webpage) is designated as a “place,” where manipulationsof a place within the ordered logical space (i.e., moving, applying andaccessing) is controlled by a privilege system. In some examples, theprivilege system makes use of an organization of users in a hierarchy(or other structured arrangement or specification) of groups of users.

Privilege for places is based on user groups, with each user bydefinition being a member of at least the one-member group includingonly that user. An information element is associated with privileges,for reading, writing/editing, and deleting, the element. For instance,if a user is not a member of a specified group of users that havereading privilege for an information element, that user cannot accessthat element and the element will not be provided to the user as aresult of a search or a subscription. Similarly, a user cannotwrite/edit or delete an information element if that user is not a memberof a group privileged to do so.

A place is also associated with privileges. A first privilege relates toassociating an information element with that place, which is referred toas “applying” the place to the information element or “placing” theinformation element in the place. A second privilege relates todetermining whether an information element has had a particular placeapplied to it, which is referred to as “seeing” that place. For example,in order to access information elements according to whether aparticular place has been applied, that user must have the seeingprivilege for that place.

As a simple example, an administration group of users may have theprivilege to apply a “News” place to information elements, and the groupof all users may have the privilege to see that “News” place. Thispermits any user to subscribe to “News” information elements if theychoose to.

Places may include member places. For example, the “News” place mayinclude a “Financial News” place and a “Sports News” place. The abilityto add and remove member places is associated with “add” and “delete”privileges for a place. In some examples, each place has an owner groupof users, and the add and delete privileges are restricted to users inthat owner group. For example, if a user wishes to add a new place“Technology News” as a member of the “News” place, that user would haveto have the add privilege for the “News” place.

In some examples, privileges are inherited by members of a group bydefault, and can be set by the owners of those members. For example,when a “Technology News” place is added to the “News” place, the “see”and “apply” privileges are inherited to be associated with the samegroup as the “News” group.

The set of associations of information elements (units) and places cantherefore be represented according to a schema. That is, for informationelements managed by the system, there is an associates “place_set” setof unit/place pairs, where each place in a pair may be at someintermediate point in a hierarchy of places.

As introduced above in the case of sources of information, places may beassociated with attributes that affect their graphical depiction. Forexample, specific places or parts of the hierarchy of places (e.g.,branches) may be associated with different colors, and when aninformation element is depicted, the color or colors of the placesapplied to that information element are depicted. In some examples, thedepiction may also represent the number of places with each attributesuch that if an information element is predominantly applied with placeswith one attribute, but is also applied with relatively fewer placeswith another attribute, the first attribute is depicted as “larger” orotherwise more important (e.g., brighter, in a more predominant/higherposition, etc.).

In some embodiments, the application of a place to an informationelement is associated with a degree of association, such as a numericweight. For example, a user applying a place to an information elementmay wish to mark that association as relatively weaker than otherapplications of that place. In some examples, these degrees ofassociation are used in forming graphical depictions of the informationelements, and may be used in selection or prioritization of elements,for example, resulting from place-based search queries or subscriptions.

The facilities described above for manipulating and accessingassociations of places and information elements may be used for variousforms of information managements. One example, relates to a workflowprocess. In this example, a “Company News” place is defined such thatthe group of all users can see when this place is applied to aninformation element, thereby allowing users to subscribe to the “CompanyNews” place and/or search an archive of such elements. Users may alsosubmit information for publication using the place mechanism, but aneditorial workflow is used such that new information elements cannothave the “Company News” place applied to them without editorial review.

To restrict application of the “Company News” place to new articles, the“apply” privilege for that place is limited to an “Editors” user group.The “see” privilege, on the other hand, is associated with the group ofall users, so that all users can subscribe to the group.

A second place, “Company News Submissions” is also defined in thisexample. This place has the “apply” privilege associated with all users,but the “see” privilege associated with only the “Editors” group. When auser wants to submit an information element for consideration by theeditors, that user applies the “Company News Submission” place, andprovides the Editors group with the privilege to modify the informationelement. Other users cannot in general see that the “Company NewsSubmissions” place has been applied.

A user in the “Editors” group may subscribe to the “Company NewsSubmissions” group, and determine that a particular submission should bepassed through to the “Company News” place, possibly with some minoredits. After editing, the editor user removes the “Company NewsSubmission” place and applies the “Company News” place to theinformation element. At this point, another user who has subscribed tothe “Company News” place would be provided with that informationelement.

In some embodiments, a particular activity or workflow has a specificsoftware application or interface that manipulates the underlyingassociations of places with information elements. The users (e.g.,general users submitting articles, or editor users reviewing them) arethereby not required to be conscious of how access is controlled usingthe primitives described above.

Less managed forms of collaboration may also be used within theframework described above. For example, a “Commons” place may be definedwith privilege set such that any user may be allowed to define a newplace that is a member of the “Commons” place. Similarly, an “All Users”group of users may be defined such that any user may define a newsubgroup. This permits a user to define a new place, for example,“Multiplayer Gaming” whose application to elements may be seen by allusers. However, the user may wish to restrict application of that placeso that only members of a particular software development group canapply it. So the user forms a “Gaming Developers” group of users, as asubset of the “All Users” group, and associates the “apply” privilege of“Multiplayer Gaming” to the “Gaming Developers” group.

In a less restrictive form of collaboration, a user may create a “ModelRailroading” place with privilege set that anyone can apply (or remove)that place to an information element and form member places (e.g.,“Antique Model Railroading”).

In some embodiments, places (and users) are not necessarily restrictedto form a strict hierarchy. For example, each place may be specified tobe a member of one or more other places (parents), and may be specifiedto have some number of member places (children). In such embodiments,various specifications of privilege control whether a particular usergroup can change (e.g., add or delete) parent or child relationships fora place.

In some implementations a centralized database is used to hold the dataassociating places with information elements, and that database is usedto process user queries and to route information to subscribing users.In some implementations, different portions of the space (e.g., tree) ofplaces have data maintained in different locations, for example, atdifferent computers or within different administrative domains. Forexample, a unified approach to specification of places may include aprivate component maintained within a company, as well as a publiccomponent maintained at a publicly accessible information provider. Forexample, the information provider may apply certain places to aninformation element, while users in a company may privately apply new ormore specific places to those information elements without suchapplications being visible outside the company.

In some embodiments, elements also have privileges associated withgroups of users. For example, read, edit, and delete privilege may bespecified for an element independently of the privilege to apply placesto that element. Furthermore, users may form aggregated groups ofelements, and those aggregated groups may have privileges that are setindependently of the component information elements.

Unless otherwise specified, the algorithms and procedures describedabove as parts of embodiments are not inherently related to anyparticular computer or other apparatus. In particular, various generalpurpose machines may be used with programs written in accordance withthe teachings herein, or it may be more convenient to construct aspecialized apparatus (e.g., integrated circuit) to perform particularfunctions. Thus, the approaches may be implemented in one or morecomputer programs executing on one or more programmable computer systemseach comprising at least one processor, at least one data storage system(including volatile and non-volatile memory and/or storage elements), atleast one input device or port, and at least one output device or port.Program code is applied to input data to perform the functions describedherein and generate output information. The output information isapplied to one or more output devices, in known fashion. Each suchprogram may be implemented in any desired computer language (includingmachine, assembly, or high level procedural, logical, or object orientedprogramming languages) to communicate with a computer system. In anycase, the language may be a compiled or interpreted language. Each suchcomputer program is preferably stored on or downloaded to a storagemedia or device (e.g., solid state memory or media, or magnetic oroptical media) readable by a general or special purpose programmablecomputer, for configuring and operating the computer when the storagemedia or device is read by the computer system to perform the proceduresdescribed herein. The embodiments may also be considered to beimplemented as a computer-readable storage medium, configured with acomputer program, where the storage medium so configured causes acomputer system to operate in a specific and predefined manner toperform the functions described herein.

It is to be understood that the foregoing description is intended toillustrate and not to limit the scope of the invention, which is definedby the scope of the appended claims. Other embodiments are within thescope of the following claims.

What is claimed is:
 1. A method for managing information in amulti-program graphical environment, the method comprising: presentingon a display a plurality of information elements in a first part of thegraphical environment to a user; forming in the first part of thegraphical environment a graphical source representation that indicatesone or more information sources associated with respective ones of atleast some of the information elements including indicating a totalnumber of information sources associated with a particular informationelement of the plurality of information elements, with at least a firstinformation element of the plurality of information elements beingassociated with a graphical source representation that indicates aplurality of information sources associated with the first informationelement; accepting selections of one or more information elements by theuser; forming corresponding representations of the selected informationelements in an other part of the graphical environment; and storing datain a data storage system to maintain as persistent the representationsin the other part of the graphical environment as further informationelements are presented in the first part of the graphical environment tothe user.
 2. The method of claim 1 further comprising accepting aspecification for the plurality of information elements for presentingto the user.
 3. The method of claim 2 further comprising assembling theplurality of information elements from the plurality of informationsources according to the accepted specification.
 4. The method of claim1 wherein forming the corresponding representations of the selectedinformation elements includes forming graphical elements correspondingto said information elements.
 5. The method of claim 4 furthercomprising accepting user inputs for manipulating the formed graphicalelements.
 6. The method of claim 1 further comprising: accepting userinput for assembling multiple of the information elements represented inthe other part of the graphical environment into an aggregatedrepresentation.
 7. The method of claim 6 further comprising storing theaggregated representation for later retrieval.
 8. The method of claim 6further comprising transmitting the aggregated representation to anotheruser.
 9. The method of claim 1, wherein the multi-program graphicalenvironment comprises a virtual desktop environment.
 10. The method ofclaim 1, maintaining an association of information elements andcorresponding classifications.
 11. The method of claim 10, whereinaccepting the selection of the one or more information elements includesaccepting a specification according to the classifications associatedwith the information elements.
 12. The method of claim 10, furthercomprising: setting an association of a place with an informationelement according to an input from the user.
 13. The method of claim 12,further comprising maintaining privilege information associated with theplace, and setting the association of the place with the informationelement includes determining whether the user has privilege to set theplace association.
 14. The method of claim 1, wherein the graphicalsource representation includes associations between differentinformation sources and different respective colors.
 15. The method ofclaim 14, further comprising maintaining in the other part of thegraphical environment an association between a first information sourceand one or more selected information elements including forming thecorresponding representations of the one or more selected informationelements with a border color matching the color associated with thefirst information source.
 16. The method of claim 1, wherein thegraphical source representation represents a degree of associationbetween an information element and one or more sources.
 17. The methodof claim 1 wherein the plurality of information elements include atleast some information elements that represent different results of aquery associated with the first part of the graphical environment. 18.The method of claim 1 wherein maintaining as persistent therepresentations in the other part of the graphical environment asfurther information elements are presented in the first part of thegraphical environment to the user includes persisting state associatedwith the representations of the selected information elements fromtermination to restarting of an information manager process that managesthe graphical environment.
 19. The method of claim 18 wherein stateassociated with the representations of the selected information elementscomprises individual storage representations that correspond toindividual graphical representations of different selected informationelements.
 20. The method of claim 1 wherein the plurality of informationsources associated with the first information element include one ormore of: an Internet site, an information feed, a file system location,a server location, or a software application.
 21. The method of claim 1wherein the first information element was included in respective resultsof queries of each of the plurality of information sources.
 22. A methodfor information management comprising: maintaining data in a datastorage system representing a plurality of information elements;maintaining data in the data storage system representing a plurality ofinformation places; maintaining data in the data storage systemrepresenting a plurality of user groups; maintaining data in the datastorage system representing privileges associated with the informationplaces, the privileges associated with each of at least some of theplaces including a privilege for a user group to apply the place to aninformation element, and a privilege for a user group to determinewhether the place has been applied to the information element; applyingplaces to the information elements by a privilege system of a computersystem in communication with the data storage system, includingrestricting application of the places by users of the user groupsaccording to the maintained privileges; presenting on a display aplurality of information elements in a graphical environment to a user,including forming in the graphical environment a graphical placerepresentation that indicates one or more of the places applied torespective ones of at least some of the information elements includingindicating a total number of places applied to a particular informationelement of the plurality of information elements, with at least a firstinformation element of the plurality of information elements beingassociated with a graphical place representation that indicates aplurality of places applied to the first information element; receivingselections of one or more information elements based at least in part onuser interaction with the graphical place representation; and accessinginformation elements selected by one or more users according to placesapplied to the information elements, including restricting use of placesapplied to the information elements according to the maintainedprivileges.
 23. The method of claim 22, wherein maintaining theplurality of information places includes maintaining a hierarchicalarrangement of information places.
 24. The method of claim 23, whereinaccessing information elements selected by one or more users accordingto places applied to the information elements includes accessing theinformation elements according to the hierarchical arrangement of theplaces.
 25. The method of claim 14, wherein the graphical placerepresentation includes associations between different places anddifferent respective colors.
 26. The method of claim 14, wherein thegraphical place representation represents a degree of associationbetween an information element and one or more places.
 27. Anon-transitory computer-readable medium comprising instructions forcausing a data processing system to: present a plurality of informationelements in a first part of a graphical environment to a user; form inthe first part of the graphical environment a graphical sourcerepresentation that indicates one or more information sources associatedwith respective ones of at least some of the information elementsincluding indicating a total number of information sources associatedwith a particular information element of the plurality of informationelements, with at least a first information element of the plurality ofinformation elements being associated with a graphical sourcerepresentation that indicates a plurality of information sourcesassociated with the first information element; accept selections of oneor more information elements by the user; form correspondingrepresentations of the selected information elements in an other part ofthe graphical environment; and maintain as persistent therepresentations in the other part of the graphical environment asfurther information elements are presented in the first part of thegraphical environment to the user.
 28. The non-transitorycomputer-readable medium of claim 27 wherein the instructions furthercauses the system to accept a specification for the plurality ofinformation elements for presenting to the user.
 29. The non-transitorycomputer-readable medium of claim 28 wherein the instructions furthercauses the system to assemble the plurality of information elements fromthe plurality of information sources according to the acceptedspecification.
 30. The non-transitory computer-readable medium of claim27 wherein forming the corresponding representations of the selectedinformation elements includes forming graphical elements correspondingto said information elements.
 31. The non-transitory computer-readablemedium of claim 30 wherein the instructions further causes the system toaccept user inputs for manipulating the formed graphical elements. 32.The non-transitory computer-readable medium of claim 27 wherein theinstructions further causes the system to: accept user input forassembling multiple of the information elements represented in the otherpart of the graphical environment into an aggregated representation. 33.The non-transitory computer-readable medium of claim 27, wherein thegraphical source representation includes associations between differentinformation sources and different respective colors.
 34. Thenon-transitory computer-readable medium of claim 33, further comprisingmaintaining in the other part of the graphical environment anassociation between a first information source and one or more selectedinformation elements including forming the corresponding representationsof the one or more selected information elements with a border colormatching the color associated with the first information source.
 35. Thenon-transitory computer-readable medium of claim 27, wherein thegraphical source representation represents a degree of associationbetween an information element and one or more sources.
 36. A method forinformation management comprising: maintaining data in a data storagesystem representing a plurality of information elements; maintainingdata in the data storage system representing a plurality of informationplaces; maintaining data in the data storage system representingprivileges associated with the information places; applying informationplaces to the information elements by a privilege system of a computersystem in communication with the data storage system, includingrestricting application of the information places according to themaintained privileges; presenting on a display a plurality ofinformation elements in a first part of a graphical environment to auser, including forming in the graphical environment at least onegraphical source indicator that indicates: a plurality of informationsources associated with a particular information element of theplurality of information elements, or a plurality of information placesapplied to the particular information element, or at least one sourceassociated with the particular information element and at least oneplace applied to the particular information element.
 37. The method ofclaim 36, wherein the graphical source indicator includes multipleregions, and the number of regions indicate: a plurality of informationsources associated with an information element, or a plurality ofinformation places applied to an information element, or at least onesource associated with an information element and at least one placeapplied to the information element.
 38. The method of claim 36, furthercomprising: receiving selections of one or more information elementsbased at least in part on user interaction with the graphical sourceindicator; and accessing information elements selected by one or moreusers according to information places applied to the informationelements, including restricting use of information places applied to theinformation elements according to the maintained privileges.
 39. Themethod of claim 36, further comprising: receiving selections of one ormore information elements; forming corresponding representations of theselected information elements in an other part of the graphicalenvironment, and maintaining in the other part of the graphicalenvironment the graphical source indicator in association with one ormore selected information elements; and storing data in a data storagesystem to maintain as persistent the representations in the other partof the graphical environment as further information elements arepresented in the first part of the graphical environment to the user.40. A computer system, comprising: a display; at least one processorconfigured to manage information in a graphical environment presented onthe display, the managing including presenting on the display aplurality of information elements in a first part of the graphicalenvironment to a user; forming in the first part of the graphicalenvironment a graphical source representation that indicates one or moreinformation sources associated with respective ones of at least some ofthe information elements including indicating a total number ofinformation sources associated with a particular information element ofthe plurality of information elements, with at least a first informationelement of the plurality of information elements being associated with agraphical source representation that indicates a plurality ofinformation sources associated with the first information element;accepting selections of one or more information elements by the user;forming corresponding representations of the selected informationelements in an other part of the graphical environment; and storing datain a data storage system to maintain as persistent the representationsin the other part of the graphical environment as further informationelements are presented in the first part of the graphical environment tothe user.
 41. A computer system, comprising: means for displaying agraphical environment; means for managing information in the graphicalenvironment, the managing including presenting a plurality ofinformation elements in a first part of the graphical environment to auser; forming in the first part of the graphical environment a graphicalsource representation that indicates one or more information sourcesassociated with respective ones of at least some of the informationelements including indicating a total number of information sourcesassociated with a particular information element of the plurality ofinformation elements, with at least a first information element of theplurality of information elements being associated with a graphicalsource representation that indicates a plurality of information sourcesassociated with the first information element; accepting selections ofone or more information elements by the user; forming correspondingrepresentations of the selected information elements in an other part ofthe graphical environment; and storing data in a data storage system tomaintain as persistent the representations in the other part of thegraphical environment as further information elements are presented inthe first part of the graphical environment to the user.